(0) Obligation:

Clauses:

in(X, tree(X, X1, X2)).
in(X, tree(Y, Left, X3)) :- ','(less(X, Y), in(X, Left)).
in(X, tree(Y, X4, Right)) :- ','(less(Y, X), in(X, Right)).
less(0, s(X5)).
less(s(X), s(Y)) :- less(X, Y).

Query: in(a,g)

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph DT10.

(2) Obligation:

Triples:

inA(tree(X1, X2, X3)) :- ','(lesscB(X1), inA(X2)).
inA(tree(X1, X2, X3)) :- ','(lesscC(X1), inA(X3)).
lessD(s(X1), s(X2)) :- lessD(X1, X2).
inE(X1, tree(s(X2), X3, X4)) :- lessG(X1, X2).
inE(X1, tree(X2, X3, X4)) :- ','(lesscF(X1, X2), inE(X1, X3)).
inE(X1, tree(X2, X3, X4)) :- lessG(X2, s(X1)).
inE(X1, tree(X2, X3, X4)) :- ','(lesscG(X2, s(X1)), inE(X1, X4)).
lessG(s(X1), s(X2)) :- lessG(X1, X2).
lessK(s(X1), s(X2)) :- lessK(X1, X2).
pI(X1, X2, X3) :- lessD(X1, X2).
pI(X1, X2, X3) :- ','(lesscD(X1, X2), inE(X1, X3)).
pJ(X1, X2, X3) :- lessK(X1, X2).
pJ(X1, X2, X3) :- ','(lesscK(X1, X2), inH(X2, X3)).
inH(0, tree(s(X1), X2, X3)) :- inA(X2).
inH(s(X1), tree(s(X2), X3, X4)) :- pI(X1, X2, X3).
inH(X1, tree(X2, X3, X4)) :- pJ(X2, X1, X4).
inH(0, tree(s(X1), X2, X3)) :- inA(X2).
inH(s(X1), tree(s(X2), X3, X4)) :- pI(X1, X2, X3).
inH(X1, tree(X2, X3, X4)) :- pJ(X2, X1, X4).
inH(s(X1), tree(0, X2, X3)) :- inH(s(X1), X3).
inH(s(X1), tree(s(X2), X3, X4)) :- lessK(X2, X1).
inH(s(X1), tree(s(X2), X3, X4)) :- ','(lesscK(X2, X1), inH(s(X1), X4)).

Clauses:

incA(tree(0, X1, X2)).
incA(tree(X1, X2, X3)) :- ','(lesscB(X1), incA(X2)).
incA(tree(X1, X2, X3)) :- ','(lesscC(X1), incA(X3)).
lesscD(0, s(X1)).
lesscD(s(X1), s(X2)) :- lesscD(X1, X2).
incE(X1, tree(s(X1), X2, X3)).
incE(X1, tree(X2, X3, X4)) :- ','(lesscF(X1, X2), incE(X1, X3)).
incE(X1, tree(X2, X3, X4)) :- ','(lesscG(X2, s(X1)), incE(X1, X4)).
lesscG(0, s(X1)).
lesscG(s(X1), s(X2)) :- lesscG(X1, X2).
incH(X1, tree(X1, X2, X3)).
incH(0, tree(s(X1), X2, X3)) :- incA(X2).
incH(s(X1), tree(s(X2), X3, X4)) :- qcI(X1, X2, X3).
incH(X1, tree(X2, X3, X4)) :- qcJ(X2, X1, X4).
incH(0, tree(s(X1), X2, X3)) :- incA(X2).
incH(s(X1), tree(s(X2), X3, X4)) :- qcI(X1, X2, X3).
incH(X1, tree(X2, X3, X4)) :- qcJ(X2, X1, X4).
incH(s(X1), tree(0, X2, X3)) :- incH(s(X1), X3).
incH(s(X1), tree(s(X2), X3, X4)) :- ','(lesscK(X2, X1), incH(s(X1), X4)).
lesscK(0, s(X1)).
lesscK(s(X1), s(X2)) :- lesscK(X1, X2).
qcI(X1, X2, X3) :- ','(lesscD(X1, X2), incE(X1, X3)).
qcJ(X1, X2, X3) :- ','(lesscK(X1, X2), incH(X2, X3)).
lesscB(s(X1)).
lesscF(X1, s(X2)) :- lesscG(X1, X2).

Afs:

inH(x1, x2)  =  inH(x2)

(3) UndefinedPredicateInTriplesTransformerProof (SOUND transformation)

Deleted triples and predicates having undefined goals [DT09].

(4) Obligation:

Triples:

inA(tree(X1, X2, X3)) :- ','(lesscB(X1), inA(X2)).
lessD(s(X1), s(X2)) :- lessD(X1, X2).
inE(X1, tree(s(X2), X3, X4)) :- lessG(X1, X2).
inE(X1, tree(X2, X3, X4)) :- ','(lesscF(X1, X2), inE(X1, X3)).
inE(X1, tree(X2, X3, X4)) :- lessG(X2, s(X1)).
inE(X1, tree(X2, X3, X4)) :- ','(lesscG(X2, s(X1)), inE(X1, X4)).
lessG(s(X1), s(X2)) :- lessG(X1, X2).
lessK(s(X1), s(X2)) :- lessK(X1, X2).
pI(X1, X2, X3) :- lessD(X1, X2).
pI(X1, X2, X3) :- ','(lesscD(X1, X2), inE(X1, X3)).
pJ(X1, X2, X3) :- lessK(X1, X2).
pJ(X1, X2, X3) :- ','(lesscK(X1, X2), inH(X2, X3)).
inH(0, tree(s(X1), X2, X3)) :- inA(X2).
inH(s(X1), tree(s(X2), X3, X4)) :- pI(X1, X2, X3).
inH(X1, tree(X2, X3, X4)) :- pJ(X2, X1, X4).
inH(0, tree(s(X1), X2, X3)) :- inA(X2).
inH(s(X1), tree(s(X2), X3, X4)) :- pI(X1, X2, X3).
inH(X1, tree(X2, X3, X4)) :- pJ(X2, X1, X4).
inH(s(X1), tree(0, X2, X3)) :- inH(s(X1), X3).
inH(s(X1), tree(s(X2), X3, X4)) :- lessK(X2, X1).
inH(s(X1), tree(s(X2), X3, X4)) :- ','(lesscK(X2, X1), inH(s(X1), X4)).

Clauses:

incA(tree(0, X1, X2)).
incA(tree(X1, X2, X3)) :- ','(lesscB(X1), incA(X2)).
lesscD(0, s(X1)).
lesscD(s(X1), s(X2)) :- lesscD(X1, X2).
incE(X1, tree(s(X1), X2, X3)).
incE(X1, tree(X2, X3, X4)) :- ','(lesscF(X1, X2), incE(X1, X3)).
incE(X1, tree(X2, X3, X4)) :- ','(lesscG(X2, s(X1)), incE(X1, X4)).
lesscG(0, s(X1)).
lesscG(s(X1), s(X2)) :- lesscG(X1, X2).
incH(X1, tree(X1, X2, X3)).
incH(0, tree(s(X1), X2, X3)) :- incA(X2).
incH(s(X1), tree(s(X2), X3, X4)) :- qcI(X1, X2, X3).
incH(X1, tree(X2, X3, X4)) :- qcJ(X2, X1, X4).
incH(0, tree(s(X1), X2, X3)) :- incA(X2).
incH(s(X1), tree(s(X2), X3, X4)) :- qcI(X1, X2, X3).
incH(X1, tree(X2, X3, X4)) :- qcJ(X2, X1, X4).
incH(s(X1), tree(0, X2, X3)) :- incH(s(X1), X3).
incH(s(X1), tree(s(X2), X3, X4)) :- ','(lesscK(X2, X1), incH(s(X1), X4)).
lesscK(0, s(X1)).
lesscK(s(X1), s(X2)) :- lesscK(X1, X2).
qcI(X1, X2, X3) :- ','(lesscD(X1, X2), incE(X1, X3)).
qcJ(X1, X2, X3) :- ','(lesscK(X1, X2), incH(X2, X3)).
lesscB(s(X1)).
lesscF(X1, s(X2)) :- lesscG(X1, X2).

Afs:

inH(x1, x2)  =  inH(x2)

(5) TriplesToPiDPProof (SOUND transformation)

We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes:
inH_in: (f,b)
inA_in: (b)
pI_in: (f,b,b)
lessD_in: (f,b)
lesscD_in: (f,b)
inE_in: (b,b)
lessG_in: (b,b)
lesscF_in: (b,b)
lesscG_in: (b,b)
pJ_in: (b,f,b)
lessK_in: (b,f)
lesscK_in: (b,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

INH_IN_AG(0, tree(s(X1), X2, X3)) → U18_AG(X1, X2, X3, inA_in_g(X2))
INH_IN_AG(0, tree(s(X1), X2, X3)) → INA_IN_G(X2)
INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))
U1_G(X1, X2, X3, lesscB_out_g(X1)) → U2_G(X1, X2, X3, inA_in_g(X2))
U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U19_AG(X1, X2, X3, X4, pI_in_agg(X1, X2, X3))
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → PI_IN_AGG(X1, X2, X3)
PI_IN_AGG(X1, X2, X3) → U12_AGG(X1, X2, X3, lessD_in_ag(X1, X2))
PI_IN_AGG(X1, X2, X3) → LESSD_IN_AG(X1, X2)
LESSD_IN_AG(s(X1), s(X2)) → U3_AG(X1, X2, lessD_in_ag(X1, X2))
LESSD_IN_AG(s(X1), s(X2)) → LESSD_IN_AG(X1, X2)
PI_IN_AGG(X1, X2, X3) → U13_AGG(X1, X2, X3, lesscD_in_ag(X1, X2))
U13_AGG(X1, X2, X3, lesscD_out_ag(X1, X2)) → U14_AGG(X1, X2, X3, inE_in_gg(X1, X3))
U13_AGG(X1, X2, X3, lesscD_out_ag(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(s(X2), X3, X4)) → U4_GG(X1, X2, X3, X4, lessG_in_gg(X1, X2))
INE_IN_GG(X1, tree(s(X2), X3, X4)) → LESSG_IN_GG(X1, X2)
LESSG_IN_GG(s(X1), s(X2)) → U10_GG(X1, X2, lessG_in_gg(X1, X2))
LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)
INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → U6_GG(X1, X2, X3, X4, inE_in_gg(X1, X3))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(X2, X3, X4)) → U7_GG(X1, X2, X3, X4, lessG_in_gg(X2, s(X1)))
INE_IN_GG(X1, tree(X2, X3, X4)) → LESSG_IN_GG(X2, s(X1))
INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → U9_GG(X1, X2, X3, X4, inE_in_gg(X1, X4))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)
INH_IN_AG(X1, tree(X2, X3, X4)) → U20_AG(X1, X2, X3, X4, pJ_in_gag(X2, X1, X4))
INH_IN_AG(X1, tree(X2, X3, X4)) → PJ_IN_GAG(X2, X1, X4)
PJ_IN_GAG(X1, X2, X3) → U15_GAG(X1, X2, X3, lessK_in_ga(X1, X2))
PJ_IN_GAG(X1, X2, X3) → LESSK_IN_GA(X1, X2)
LESSK_IN_GA(s(X1), s(X2)) → U11_GA(X1, X2, lessK_in_ga(X1, X2))
LESSK_IN_GA(s(X1), s(X2)) → LESSK_IN_GA(X1, X2)
PJ_IN_GAG(X1, X2, X3) → U16_GAG(X1, X2, X3, lesscK_in_ga(X1, X2))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → U17_GAG(X1, X2, X3, inH_in_ag(X2, X3))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → INH_IN_AG(X2, X3)
INH_IN_AG(s(X1), tree(0, X2, X3)) → U21_AG(X1, X2, X3, inH_in_ag(s(X1), X3))
INH_IN_AG(s(X1), tree(0, X2, X3)) → INH_IN_AG(s(X1), X3)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U22_AG(X1, X2, X3, X4, lessK_in_ga(X2, X1))
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → LESSK_IN_GA(X2, X1)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U23_AG(X1, X2, X3, X4, lesscK_in_ga(X2, X1))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → U24_AG(X1, X2, X3, X4, inH_in_ag(s(X1), X4))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → INH_IN_AG(s(X1), X4)

The TRS R consists of the following rules:

lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
inH_in_ag(x1, x2)  =  inH_in_ag(x2)
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
inA_in_g(x1)  =  inA_in_g(x1)
lesscB_in_g(x1)  =  lesscB_in_g(x1)
lesscB_out_g(x1)  =  lesscB_out_g(x1)
pI_in_agg(x1, x2, x3)  =  pI_in_agg(x2, x3)
lessD_in_ag(x1, x2)  =  lessD_in_ag(x2)
lesscD_in_ag(x1, x2)  =  lesscD_in_ag(x2)
lesscD_out_ag(x1, x2)  =  lesscD_out_ag(x1, x2)
U28_ag(x1, x2, x3)  =  U28_ag(x2, x3)
inE_in_gg(x1, x2)  =  inE_in_gg(x1, x2)
lessG_in_gg(x1, x2)  =  lessG_in_gg(x1, x2)
lesscF_in_gg(x1, x2)  =  lesscF_in_gg(x1, x2)
U45_gg(x1, x2, x3)  =  U45_gg(x1, x2, x3)
lesscG_in_gg(x1, x2)  =  lesscG_in_gg(x1, x2)
0  =  0
lesscG_out_gg(x1, x2)  =  lesscG_out_gg(x1, x2)
U33_gg(x1, x2, x3)  =  U33_gg(x1, x2, x3)
lesscF_out_gg(x1, x2)  =  lesscF_out_gg(x1, x2)
pJ_in_gag(x1, x2, x3)  =  pJ_in_gag(x1, x3)
lessK_in_ga(x1, x2)  =  lessK_in_ga(x1)
lesscK_in_ga(x1, x2)  =  lesscK_in_ga(x1)
lesscK_out_ga(x1, x2)  =  lesscK_out_ga(x1)
U40_ga(x1, x2, x3)  =  U40_ga(x1, x3)
INH_IN_AG(x1, x2)  =  INH_IN_AG(x2)
U18_AG(x1, x2, x3, x4)  =  U18_AG(x1, x2, x3, x4)
INA_IN_G(x1)  =  INA_IN_G(x1)
U1_G(x1, x2, x3, x4)  =  U1_G(x1, x2, x3, x4)
U2_G(x1, x2, x3, x4)  =  U2_G(x1, x2, x3, x4)
U19_AG(x1, x2, x3, x4, x5)  =  U19_AG(x2, x3, x4, x5)
PI_IN_AGG(x1, x2, x3)  =  PI_IN_AGG(x2, x3)
U12_AGG(x1, x2, x3, x4)  =  U12_AGG(x2, x3, x4)
LESSD_IN_AG(x1, x2)  =  LESSD_IN_AG(x2)
U3_AG(x1, x2, x3)  =  U3_AG(x2, x3)
U13_AGG(x1, x2, x3, x4)  =  U13_AGG(x2, x3, x4)
U14_AGG(x1, x2, x3, x4)  =  U14_AGG(x1, x2, x3, x4)
INE_IN_GG(x1, x2)  =  INE_IN_GG(x1, x2)
U4_GG(x1, x2, x3, x4, x5)  =  U4_GG(x1, x2, x3, x4, x5)
LESSG_IN_GG(x1, x2)  =  LESSG_IN_GG(x1, x2)
U10_GG(x1, x2, x3)  =  U10_GG(x1, x2, x3)
U5_GG(x1, x2, x3, x4, x5)  =  U5_GG(x1, x2, x3, x4, x5)
U6_GG(x1, x2, x3, x4, x5)  =  U6_GG(x1, x2, x3, x4, x5)
U7_GG(x1, x2, x3, x4, x5)  =  U7_GG(x1, x2, x3, x4, x5)
U8_GG(x1, x2, x3, x4, x5)  =  U8_GG(x1, x2, x3, x4, x5)
U9_GG(x1, x2, x3, x4, x5)  =  U9_GG(x1, x2, x3, x4, x5)
U20_AG(x1, x2, x3, x4, x5)  =  U20_AG(x2, x3, x4, x5)
PJ_IN_GAG(x1, x2, x3)  =  PJ_IN_GAG(x1, x3)
U15_GAG(x1, x2, x3, x4)  =  U15_GAG(x1, x3, x4)
LESSK_IN_GA(x1, x2)  =  LESSK_IN_GA(x1)
U11_GA(x1, x2, x3)  =  U11_GA(x1, x3)
U16_GAG(x1, x2, x3, x4)  =  U16_GAG(x1, x3, x4)
U17_GAG(x1, x2, x3, x4)  =  U17_GAG(x1, x3, x4)
U21_AG(x1, x2, x3, x4)  =  U21_AG(x2, x3, x4)
U22_AG(x1, x2, x3, x4, x5)  =  U22_AG(x2, x3, x4, x5)
U23_AG(x1, x2, x3, x4, x5)  =  U23_AG(x2, x3, x4, x5)
U24_AG(x1, x2, x3, x4, x5)  =  U24_AG(x2, x3, x4, x5)

We have to consider all (P,R,Pi)-chains

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

INH_IN_AG(0, tree(s(X1), X2, X3)) → U18_AG(X1, X2, X3, inA_in_g(X2))
INH_IN_AG(0, tree(s(X1), X2, X3)) → INA_IN_G(X2)
INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))
U1_G(X1, X2, X3, lesscB_out_g(X1)) → U2_G(X1, X2, X3, inA_in_g(X2))
U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U19_AG(X1, X2, X3, X4, pI_in_agg(X1, X2, X3))
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → PI_IN_AGG(X1, X2, X3)
PI_IN_AGG(X1, X2, X3) → U12_AGG(X1, X2, X3, lessD_in_ag(X1, X2))
PI_IN_AGG(X1, X2, X3) → LESSD_IN_AG(X1, X2)
LESSD_IN_AG(s(X1), s(X2)) → U3_AG(X1, X2, lessD_in_ag(X1, X2))
LESSD_IN_AG(s(X1), s(X2)) → LESSD_IN_AG(X1, X2)
PI_IN_AGG(X1, X2, X3) → U13_AGG(X1, X2, X3, lesscD_in_ag(X1, X2))
U13_AGG(X1, X2, X3, lesscD_out_ag(X1, X2)) → U14_AGG(X1, X2, X3, inE_in_gg(X1, X3))
U13_AGG(X1, X2, X3, lesscD_out_ag(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(s(X2), X3, X4)) → U4_GG(X1, X2, X3, X4, lessG_in_gg(X1, X2))
INE_IN_GG(X1, tree(s(X2), X3, X4)) → LESSG_IN_GG(X1, X2)
LESSG_IN_GG(s(X1), s(X2)) → U10_GG(X1, X2, lessG_in_gg(X1, X2))
LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)
INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → U6_GG(X1, X2, X3, X4, inE_in_gg(X1, X3))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(X2, X3, X4)) → U7_GG(X1, X2, X3, X4, lessG_in_gg(X2, s(X1)))
INE_IN_GG(X1, tree(X2, X3, X4)) → LESSG_IN_GG(X2, s(X1))
INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → U9_GG(X1, X2, X3, X4, inE_in_gg(X1, X4))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)
INH_IN_AG(X1, tree(X2, X3, X4)) → U20_AG(X1, X2, X3, X4, pJ_in_gag(X2, X1, X4))
INH_IN_AG(X1, tree(X2, X3, X4)) → PJ_IN_GAG(X2, X1, X4)
PJ_IN_GAG(X1, X2, X3) → U15_GAG(X1, X2, X3, lessK_in_ga(X1, X2))
PJ_IN_GAG(X1, X2, X3) → LESSK_IN_GA(X1, X2)
LESSK_IN_GA(s(X1), s(X2)) → U11_GA(X1, X2, lessK_in_ga(X1, X2))
LESSK_IN_GA(s(X1), s(X2)) → LESSK_IN_GA(X1, X2)
PJ_IN_GAG(X1, X2, X3) → U16_GAG(X1, X2, X3, lesscK_in_ga(X1, X2))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → U17_GAG(X1, X2, X3, inH_in_ag(X2, X3))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → INH_IN_AG(X2, X3)
INH_IN_AG(s(X1), tree(0, X2, X3)) → U21_AG(X1, X2, X3, inH_in_ag(s(X1), X3))
INH_IN_AG(s(X1), tree(0, X2, X3)) → INH_IN_AG(s(X1), X3)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U22_AG(X1, X2, X3, X4, lessK_in_ga(X2, X1))
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → LESSK_IN_GA(X2, X1)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U23_AG(X1, X2, X3, X4, lesscK_in_ga(X2, X1))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → U24_AG(X1, X2, X3, X4, inH_in_ag(s(X1), X4))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → INH_IN_AG(s(X1), X4)

The TRS R consists of the following rules:

lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
inH_in_ag(x1, x2)  =  inH_in_ag(x2)
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
inA_in_g(x1)  =  inA_in_g(x1)
lesscB_in_g(x1)  =  lesscB_in_g(x1)
lesscB_out_g(x1)  =  lesscB_out_g(x1)
pI_in_agg(x1, x2, x3)  =  pI_in_agg(x2, x3)
lessD_in_ag(x1, x2)  =  lessD_in_ag(x2)
lesscD_in_ag(x1, x2)  =  lesscD_in_ag(x2)
lesscD_out_ag(x1, x2)  =  lesscD_out_ag(x1, x2)
U28_ag(x1, x2, x3)  =  U28_ag(x2, x3)
inE_in_gg(x1, x2)  =  inE_in_gg(x1, x2)
lessG_in_gg(x1, x2)  =  lessG_in_gg(x1, x2)
lesscF_in_gg(x1, x2)  =  lesscF_in_gg(x1, x2)
U45_gg(x1, x2, x3)  =  U45_gg(x1, x2, x3)
lesscG_in_gg(x1, x2)  =  lesscG_in_gg(x1, x2)
0  =  0
lesscG_out_gg(x1, x2)  =  lesscG_out_gg(x1, x2)
U33_gg(x1, x2, x3)  =  U33_gg(x1, x2, x3)
lesscF_out_gg(x1, x2)  =  lesscF_out_gg(x1, x2)
pJ_in_gag(x1, x2, x3)  =  pJ_in_gag(x1, x3)
lessK_in_ga(x1, x2)  =  lessK_in_ga(x1)
lesscK_in_ga(x1, x2)  =  lesscK_in_ga(x1)
lesscK_out_ga(x1, x2)  =  lesscK_out_ga(x1)
U40_ga(x1, x2, x3)  =  U40_ga(x1, x3)
INH_IN_AG(x1, x2)  =  INH_IN_AG(x2)
U18_AG(x1, x2, x3, x4)  =  U18_AG(x1, x2, x3, x4)
INA_IN_G(x1)  =  INA_IN_G(x1)
U1_G(x1, x2, x3, x4)  =  U1_G(x1, x2, x3, x4)
U2_G(x1, x2, x3, x4)  =  U2_G(x1, x2, x3, x4)
U19_AG(x1, x2, x3, x4, x5)  =  U19_AG(x2, x3, x4, x5)
PI_IN_AGG(x1, x2, x3)  =  PI_IN_AGG(x2, x3)
U12_AGG(x1, x2, x3, x4)  =  U12_AGG(x2, x3, x4)
LESSD_IN_AG(x1, x2)  =  LESSD_IN_AG(x2)
U3_AG(x1, x2, x3)  =  U3_AG(x2, x3)
U13_AGG(x1, x2, x3, x4)  =  U13_AGG(x2, x3, x4)
U14_AGG(x1, x2, x3, x4)  =  U14_AGG(x1, x2, x3, x4)
INE_IN_GG(x1, x2)  =  INE_IN_GG(x1, x2)
U4_GG(x1, x2, x3, x4, x5)  =  U4_GG(x1, x2, x3, x4, x5)
LESSG_IN_GG(x1, x2)  =  LESSG_IN_GG(x1, x2)
U10_GG(x1, x2, x3)  =  U10_GG(x1, x2, x3)
U5_GG(x1, x2, x3, x4, x5)  =  U5_GG(x1, x2, x3, x4, x5)
U6_GG(x1, x2, x3, x4, x5)  =  U6_GG(x1, x2, x3, x4, x5)
U7_GG(x1, x2, x3, x4, x5)  =  U7_GG(x1, x2, x3, x4, x5)
U8_GG(x1, x2, x3, x4, x5)  =  U8_GG(x1, x2, x3, x4, x5)
U9_GG(x1, x2, x3, x4, x5)  =  U9_GG(x1, x2, x3, x4, x5)
U20_AG(x1, x2, x3, x4, x5)  =  U20_AG(x2, x3, x4, x5)
PJ_IN_GAG(x1, x2, x3)  =  PJ_IN_GAG(x1, x3)
U15_GAG(x1, x2, x3, x4)  =  U15_GAG(x1, x3, x4)
LESSK_IN_GA(x1, x2)  =  LESSK_IN_GA(x1)
U11_GA(x1, x2, x3)  =  U11_GA(x1, x3)
U16_GAG(x1, x2, x3, x4)  =  U16_GAG(x1, x3, x4)
U17_GAG(x1, x2, x3, x4)  =  U17_GAG(x1, x3, x4)
U21_AG(x1, x2, x3, x4)  =  U21_AG(x2, x3, x4)
U22_AG(x1, x2, x3, x4, x5)  =  U22_AG(x2, x3, x4, x5)
U23_AG(x1, x2, x3, x4, x5)  =  U23_AG(x2, x3, x4, x5)
U24_AG(x1, x2, x3, x4, x5)  =  U24_AG(x2, x3, x4, x5)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 6 SCCs with 27 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSK_IN_GA(s(X1), s(X2)) → LESSK_IN_GA(X1, X2)

The TRS R consists of the following rules:

lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
lesscB_in_g(x1)  =  lesscB_in_g(x1)
lesscB_out_g(x1)  =  lesscB_out_g(x1)
lesscD_in_ag(x1, x2)  =  lesscD_in_ag(x2)
lesscD_out_ag(x1, x2)  =  lesscD_out_ag(x1, x2)
U28_ag(x1, x2, x3)  =  U28_ag(x2, x3)
lesscF_in_gg(x1, x2)  =  lesscF_in_gg(x1, x2)
U45_gg(x1, x2, x3)  =  U45_gg(x1, x2, x3)
lesscG_in_gg(x1, x2)  =  lesscG_in_gg(x1, x2)
0  =  0
lesscG_out_gg(x1, x2)  =  lesscG_out_gg(x1, x2)
U33_gg(x1, x2, x3)  =  U33_gg(x1, x2, x3)
lesscF_out_gg(x1, x2)  =  lesscF_out_gg(x1, x2)
lesscK_in_ga(x1, x2)  =  lesscK_in_ga(x1)
lesscK_out_ga(x1, x2)  =  lesscK_out_ga(x1)
U40_ga(x1, x2, x3)  =  U40_ga(x1, x3)
LESSK_IN_GA(x1, x2)  =  LESSK_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSK_IN_GA(s(X1), s(X2)) → LESSK_IN_GA(X1, X2)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
LESSK_IN_GA(x1, x2)  =  LESSK_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LESSK_IN_GA(s(X1)) → LESSK_IN_GA(X1)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LESSK_IN_GA(s(X1)) → LESSK_IN_GA(X1)
    The graph contains the following edges 1 > 1

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)

The TRS R consists of the following rules:

lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
lesscB_in_g(x1)  =  lesscB_in_g(x1)
lesscB_out_g(x1)  =  lesscB_out_g(x1)
lesscD_in_ag(x1, x2)  =  lesscD_in_ag(x2)
lesscD_out_ag(x1, x2)  =  lesscD_out_ag(x1, x2)
U28_ag(x1, x2, x3)  =  U28_ag(x2, x3)
lesscF_in_gg(x1, x2)  =  lesscF_in_gg(x1, x2)
U45_gg(x1, x2, x3)  =  U45_gg(x1, x2, x3)
lesscG_in_gg(x1, x2)  =  lesscG_in_gg(x1, x2)
0  =  0
lesscG_out_gg(x1, x2)  =  lesscG_out_gg(x1, x2)
U33_gg(x1, x2, x3)  =  U33_gg(x1, x2, x3)
lesscF_out_gg(x1, x2)  =  lesscF_out_gg(x1, x2)
lesscK_in_ga(x1, x2)  =  lesscK_in_ga(x1)
lesscK_out_ga(x1, x2)  =  lesscK_out_ga(x1)
U40_ga(x1, x2, x3)  =  U40_ga(x1, x3)
LESSG_IN_GG(x1, x2)  =  LESSG_IN_GG(x1, x2)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)
    The graph contains the following edges 1 > 1, 2 > 2

(22) YES

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)

The TRS R consists of the following rules:

lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
lesscB_in_g(x1)  =  lesscB_in_g(x1)
lesscB_out_g(x1)  =  lesscB_out_g(x1)
lesscD_in_ag(x1, x2)  =  lesscD_in_ag(x2)
lesscD_out_ag(x1, x2)  =  lesscD_out_ag(x1, x2)
U28_ag(x1, x2, x3)  =  U28_ag(x2, x3)
lesscF_in_gg(x1, x2)  =  lesscF_in_gg(x1, x2)
U45_gg(x1, x2, x3)  =  U45_gg(x1, x2, x3)
lesscG_in_gg(x1, x2)  =  lesscG_in_gg(x1, x2)
0  =  0
lesscG_out_gg(x1, x2)  =  lesscG_out_gg(x1, x2)
U33_gg(x1, x2, x3)  =  U33_gg(x1, x2, x3)
lesscF_out_gg(x1, x2)  =  lesscF_out_gg(x1, x2)
lesscK_in_ga(x1, x2)  =  lesscK_in_ga(x1)
lesscK_out_ga(x1, x2)  =  lesscK_out_ga(x1)
U40_ga(x1, x2, x3)  =  U40_ga(x1, x3)
INE_IN_GG(x1, x2)  =  INE_IN_GG(x1, x2)
U5_GG(x1, x2, x3, x4, x5)  =  U5_GG(x1, x2, x3, x4, x5)
U8_GG(x1, x2, x3, x4, x5)  =  U8_GG(x1, x2, x3, x4, x5)

We have to consider all (P,R,Pi)-chains

(24) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(25) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)

The TRS R consists of the following rules:

lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))

Pi is empty.
We have to consider all (P,R,Pi)-chains

(26) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)

The TRS R consists of the following rules:

lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))

The set Q consists of the following terms:

lesscF_in_gg(x0, x1)
lesscG_in_gg(x0, x1)
U45_gg(x0, x1, x2)
U33_gg(x0, x1, x2)

We have to consider all (P,Q,R)-chains.

(28) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
    The graph contains the following edges 1 >= 1, 5 > 1, 3 >= 2

  • U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)
    The graph contains the following edges 1 >= 1, 5 > 1, 4 >= 2

  • INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
    The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3, 2 > 4

  • INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
    The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3, 2 > 4

(29) YES

(30) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSD_IN_AG(s(X1), s(X2)) → LESSD_IN_AG(X1, X2)

The TRS R consists of the following rules:

lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
lesscB_in_g(x1)  =  lesscB_in_g(x1)
lesscB_out_g(x1)  =  lesscB_out_g(x1)
lesscD_in_ag(x1, x2)  =  lesscD_in_ag(x2)
lesscD_out_ag(x1, x2)  =  lesscD_out_ag(x1, x2)
U28_ag(x1, x2, x3)  =  U28_ag(x2, x3)
lesscF_in_gg(x1, x2)  =  lesscF_in_gg(x1, x2)
U45_gg(x1, x2, x3)  =  U45_gg(x1, x2, x3)
lesscG_in_gg(x1, x2)  =  lesscG_in_gg(x1, x2)
0  =  0
lesscG_out_gg(x1, x2)  =  lesscG_out_gg(x1, x2)
U33_gg(x1, x2, x3)  =  U33_gg(x1, x2, x3)
lesscF_out_gg(x1, x2)  =  lesscF_out_gg(x1, x2)
lesscK_in_ga(x1, x2)  =  lesscK_in_ga(x1)
lesscK_out_ga(x1, x2)  =  lesscK_out_ga(x1)
U40_ga(x1, x2, x3)  =  U40_ga(x1, x3)
LESSD_IN_AG(x1, x2)  =  LESSD_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(31) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(32) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSD_IN_AG(s(X1), s(X2)) → LESSD_IN_AG(X1, X2)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
LESSD_IN_AG(x1, x2)  =  LESSD_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(33) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(34) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LESSD_IN_AG(s(X2)) → LESSD_IN_AG(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(35) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LESSD_IN_AG(s(X2)) → LESSD_IN_AG(X2)
    The graph contains the following edges 1 > 1

(36) YES

(37) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))

The TRS R consists of the following rules:

lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
lesscB_in_g(x1)  =  lesscB_in_g(x1)
lesscB_out_g(x1)  =  lesscB_out_g(x1)
lesscD_in_ag(x1, x2)  =  lesscD_in_ag(x2)
lesscD_out_ag(x1, x2)  =  lesscD_out_ag(x1, x2)
U28_ag(x1, x2, x3)  =  U28_ag(x2, x3)
lesscF_in_gg(x1, x2)  =  lesscF_in_gg(x1, x2)
U45_gg(x1, x2, x3)  =  U45_gg(x1, x2, x3)
lesscG_in_gg(x1, x2)  =  lesscG_in_gg(x1, x2)
0  =  0
lesscG_out_gg(x1, x2)  =  lesscG_out_gg(x1, x2)
U33_gg(x1, x2, x3)  =  U33_gg(x1, x2, x3)
lesscF_out_gg(x1, x2)  =  lesscF_out_gg(x1, x2)
lesscK_in_ga(x1, x2)  =  lesscK_in_ga(x1)
lesscK_out_ga(x1, x2)  =  lesscK_out_ga(x1)
U40_ga(x1, x2, x3)  =  U40_ga(x1, x3)
INA_IN_G(x1)  =  INA_IN_G(x1)
U1_G(x1, x2, x3, x4)  =  U1_G(x1, x2, x3, x4)

We have to consider all (P,R,Pi)-chains

(38) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(39) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))

The TRS R consists of the following rules:

lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))

Pi is empty.
We have to consider all (P,R,Pi)-chains

(40) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(41) Obligation:

Q DP problem:
The TRS P consists of the following rules:

U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))

The TRS R consists of the following rules:

lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))

The set Q consists of the following terms:

lesscB_in_g(x0)

We have to consider all (P,Q,R)-chains.

(42) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))
    The graph contains the following edges 1 > 1, 1 > 2, 1 > 3

  • U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
    The graph contains the following edges 2 >= 1

(43) YES

(44) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

INH_IN_AG(X1, tree(X2, X3, X4)) → PJ_IN_GAG(X2, X1, X4)
PJ_IN_GAG(X1, X2, X3) → U16_GAG(X1, X2, X3, lesscK_in_ga(X1, X2))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → INH_IN_AG(X2, X3)
INH_IN_AG(s(X1), tree(0, X2, X3)) → INH_IN_AG(s(X1), X3)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U23_AG(X1, X2, X3, X4, lesscK_in_ga(X2, X1))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → INH_IN_AG(s(X1), X4)

The TRS R consists of the following rules:

lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
lesscB_in_g(x1)  =  lesscB_in_g(x1)
lesscB_out_g(x1)  =  lesscB_out_g(x1)
lesscD_in_ag(x1, x2)  =  lesscD_in_ag(x2)
lesscD_out_ag(x1, x2)  =  lesscD_out_ag(x1, x2)
U28_ag(x1, x2, x3)  =  U28_ag(x2, x3)
lesscF_in_gg(x1, x2)  =  lesscF_in_gg(x1, x2)
U45_gg(x1, x2, x3)  =  U45_gg(x1, x2, x3)
lesscG_in_gg(x1, x2)  =  lesscG_in_gg(x1, x2)
0  =  0
lesscG_out_gg(x1, x2)  =  lesscG_out_gg(x1, x2)
U33_gg(x1, x2, x3)  =  U33_gg(x1, x2, x3)
lesscF_out_gg(x1, x2)  =  lesscF_out_gg(x1, x2)
lesscK_in_ga(x1, x2)  =  lesscK_in_ga(x1)
lesscK_out_ga(x1, x2)  =  lesscK_out_ga(x1)
U40_ga(x1, x2, x3)  =  U40_ga(x1, x3)
INH_IN_AG(x1, x2)  =  INH_IN_AG(x2)
PJ_IN_GAG(x1, x2, x3)  =  PJ_IN_GAG(x1, x3)
U16_GAG(x1, x2, x3, x4)  =  U16_GAG(x1, x3, x4)
U23_AG(x1, x2, x3, x4, x5)  =  U23_AG(x2, x3, x4, x5)

We have to consider all (P,R,Pi)-chains

(45) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(46) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

INH_IN_AG(X1, tree(X2, X3, X4)) → PJ_IN_GAG(X2, X1, X4)
PJ_IN_GAG(X1, X2, X3) → U16_GAG(X1, X2, X3, lesscK_in_ga(X1, X2))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → INH_IN_AG(X2, X3)
INH_IN_AG(s(X1), tree(0, X2, X3)) → INH_IN_AG(s(X1), X3)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U23_AG(X1, X2, X3, X4, lesscK_in_ga(X2, X1))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → INH_IN_AG(s(X1), X4)

The TRS R consists of the following rules:

lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
0  =  0
lesscK_in_ga(x1, x2)  =  lesscK_in_ga(x1)
lesscK_out_ga(x1, x2)  =  lesscK_out_ga(x1)
U40_ga(x1, x2, x3)  =  U40_ga(x1, x3)
INH_IN_AG(x1, x2)  =  INH_IN_AG(x2)
PJ_IN_GAG(x1, x2, x3)  =  PJ_IN_GAG(x1, x3)
U16_GAG(x1, x2, x3, x4)  =  U16_GAG(x1, x3, x4)
U23_AG(x1, x2, x3, x4, x5)  =  U23_AG(x2, x3, x4, x5)

We have to consider all (P,R,Pi)-chains

(47) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(48) Obligation:

Q DP problem:
The TRS P consists of the following rules:

INH_IN_AG(tree(X2, X3, X4)) → PJ_IN_GAG(X2, X4)
PJ_IN_GAG(X1, X3) → U16_GAG(X1, X3, lesscK_in_ga(X1))
U16_GAG(X1, X3, lesscK_out_ga(X1)) → INH_IN_AG(X3)
INH_IN_AG(tree(0, X2, X3)) → INH_IN_AG(X3)
INH_IN_AG(tree(s(X2), X3, X4)) → U23_AG(X2, X3, X4, lesscK_in_ga(X2))
U23_AG(X2, X3, X4, lesscK_out_ga(X2)) → INH_IN_AG(X4)

The TRS R consists of the following rules:

lesscK_in_ga(0) → lesscK_out_ga(0)
lesscK_in_ga(s(X1)) → U40_ga(X1, lesscK_in_ga(X1))
U40_ga(X1, lesscK_out_ga(X1)) → lesscK_out_ga(s(X1))

The set Q consists of the following terms:

lesscK_in_ga(x0)
U40_ga(x0, x1)

We have to consider all (P,Q,R)-chains.

(49) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • PJ_IN_GAG(X1, X3) → U16_GAG(X1, X3, lesscK_in_ga(X1))
    The graph contains the following edges 1 >= 1, 2 >= 2

  • U16_GAG(X1, X3, lesscK_out_ga(X1)) → INH_IN_AG(X3)
    The graph contains the following edges 2 >= 1

  • INH_IN_AG(tree(X2, X3, X4)) → PJ_IN_GAG(X2, X4)
    The graph contains the following edges 1 > 1, 1 > 2

  • INH_IN_AG(tree(s(X2), X3, X4)) → U23_AG(X2, X3, X4, lesscK_in_ga(X2))
    The graph contains the following edges 1 > 1, 1 > 2, 1 > 3

  • INH_IN_AG(tree(0, X2, X3)) → INH_IN_AG(X3)
    The graph contains the following edges 1 > 1

  • U23_AG(X2, X3, X4, lesscK_out_ga(X2)) → INH_IN_AG(X4)
    The graph contains the following edges 3 >= 1

(50) YES